#include<iostream>
using namespace std;
int arr[10010];
//void qsort_1(int l, int r)
//{
//	int x = l;
//	int y = r;
//	int mid = (x + y) / 2;
//	while (x <= y) {
//		while (arr[mid] > arr[x]) {
//			x++;
//		}
//		while (arr[mid] < arr[y]) {
//			y--;
//		}
//		if (x <= y) {	
//			swap(arr[x], arr[y]);
//		}
//	}
//	qsort_1(l, y);
//	qsort_1(x, r);
//}
void qsort_1(int l, int r)
{
	if (l >= r) {
		return;
	}
	int x = arr[l];
	int i = l - 1;
	int j = r + 1;
	while (i < j) {
		do i++;
		while (arr[i] < x);
		do j--;
		while (arr[j] > x);
		if (i < j) {
			swap(arr[i], arr[j]);
		}
	}
	qsort_1(l, j);
	qsort_1(j + 1, r);
}
int main()
{
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> arr[i];
	}
	qsort_1(0, n - 1);
	for (int i = 0; i < n; i++) {
		cout << arr[i] << " ";
	}
	return 0;
}